package com.health.institution.domain;

import java.math.BigDecimal;
import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.health.common.annotation.Excel;
import com.health.common.core.domain.BaseEntity;

/**
 * 机构管理对象 medical_hospital
 * 
 * @author ruoyi
 * @date 2025-10-27
 */
public class MedicalHospital extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 机构ID */
    private Long hospitalId;

    /** 用户ID */
    private Long userId;

    /** 机构名称 */
    @Excel(name = "机构名称")
    private String hospitalName;

    /** 机构类型: 1-医院, 2-体检中心, 3-诊所 */
    @Excel(name = "机构类型: 1-医院, 2-体检中心, 3-诊所")
    private Long hospitalType;

    /** 机构头像 */
    @Excel(name = "机构头像")
    private String logo;

    /** 机构图片(JSON数组) */
    private String images;

    /** 省 */
    private String province;

    /** 市 */
    private String city;

    /** 区 */
    private String district;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 经度 */
    private BigDecimal longitude;

    /** 纬度 */
    private BigDecimal latitude;

    /** 联系电话 */
    private String contactPhone;

    /** 机构描述 */
    private String description;

    /** 机构等级 */
    private String grade;

    /** 是否上架 */
    @Excel(name = "是否上架")
    private String status;

    /** 审核状态: 0-待审核, 1-审核通过, 2-审核拒绝 */
    private Long auditStatus;

    /** 审核备注 */
    private String auditRemark;

    /** 关联的科室ID列表 */
    private List<Long> departmentIds;

    /** 关联的科室信息列表 */
    private List<Department> departments;

    /** 一级科室列表 */
    private List<Department> primaryDepartments;

    /** 二级科室列表 */
    private List<Department> secondaryDepartments;

    public void setHospitalId(Long hospitalId) 
    {
        this.hospitalId = hospitalId;
    }

    public Long getHospitalId() 
    {
        return hospitalId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setHospitalName(String hospitalName) 
    {
        this.hospitalName = hospitalName;
    }

    public String getHospitalName() 
    {
        return hospitalName;
    }

    public void setHospitalType(Long hospitalType) 
    {
        this.hospitalType = hospitalType;
    }

    public Long getHospitalType() 
    {
        return hospitalType;
    }

    public void setLogo(String logo) 
    {
        this.logo = logo;
    }

    public String getLogo() 
    {
        return logo;
    }

    public void setImages(String images) 
    {
        this.images = images;
    }

    public String getImages() 
    {
        return images;
    }

    public void setProvince(String province) 
    {
        this.province = province;
    }

    public String getProvince() 
    {
        return province;
    }

    public void setCity(String city) 
    {
        this.city = city;
    }

    public String getCity() 
    {
        return city;
    }

    public void setDistrict(String district) 
    {
        this.district = district;
    }

    public String getDistrict() 
    {
        return district;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setLongitude(BigDecimal longitude) 
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude() 
    {
        return longitude;
    }

    public void setLatitude(BigDecimal latitude) 
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude() 
    {
        return latitude;
    }

    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setGrade(String grade)
    {
        this.grade = grade;
    }

    public String getGrade()
    {
        return grade;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setAuditStatus(Long auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public Long getAuditStatus() 
    {
        return auditStatus;
    }

    public void setAuditRemark(String auditRemark) 
    {
        this.auditRemark = auditRemark;
    }

    public String getAuditRemark() 
    {
        return auditRemark;
    }

    public List<Long> getDepartmentIds() {
        return departmentIds;
    }

    public void setDepartmentIds(List<Long> departmentIds) {
        this.departmentIds = departmentIds;
    }

    public List<Department> getDepartments() {
        return departments;
    }

    public void setDepartments(List<Department> departments) {
        this.departments = departments;
    }

    public List<Department> getPrimaryDepartments() {
        return primaryDepartments;
    }

    public void setPrimaryDepartments(List<Department> primaryDepartments) {
        this.primaryDepartments = primaryDepartments;
    }

    public List<Department> getSecondaryDepartments() {
        return secondaryDepartments;
    }

    public void setSecondaryDepartments(List<Department> secondaryDepartments) {
        this.secondaryDepartments = secondaryDepartments;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("hospitalId", getHospitalId())
            .append("userId", getUserId())
            .append("hospitalName", getHospitalName())
            .append("hospitalType", getHospitalType())
            .append("logo", getLogo())
            .append("images", getImages())
            .append("province", getProvince())
            .append("city", getCity())
            .append("district", getDistrict())
            .append("address", getAddress())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("contactPhone", getContactPhone())
            .append("description", getDescription())
            .append("grade", getGrade())
            .append("status", getStatus())
            .append("auditStatus", getAuditStatus())
            .append("auditRemark", getAuditRemark())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("departmentIds", getDepartmentIds())
            .append("departments", getDepartments())
            .toString();
    }
}